package br.com.sga.model;

import java.io.Serializable;
import java.util.Date;

import javax.annotation.Generated;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.swing.text.StyledEditorKit.BoldAction;

/**
 * 
 * @author Thiago Nogueira
 *
 */
@Entity
@Table (name="aluno")
public class Aluno implements Serializable{
	private static final long serialVersionUID = 1L;
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="ID_ALUNO")
	private Integer id;
	@Column(name="NOME",nullable=false)
	private String nome;
	@Column(name="ENDERECO",nullable=false)
	private String endereco;
	@Column(name="BAIRRO",nullable=false)
	private String bairro;
	@Column(name="CIDADE",nullable=false)
	private String cidade;
	@Column(name="CEP",nullable=false)
	private String cep;
	@Column(name="UF",nullable=false)
	private String uf;
	@Column(name="TELEFONE",nullable=false)
	private String telefone;
	@Column(name="CELULAR",nullable=false)
	private String celular;
	@Column(name="SEXO",nullable=false)
	private String sexo;
	@Column(name="CPF",nullable=false)
	private String cpf;
	@Column(name="RG",nullable=false)
	private String rg;
	@Column(name="UF_RG",nullable=false)
	private String ufRg;
	@Column(name="EMAIL",nullable=false)
	private String email;
	@Column(name="DATA_NASCIMENTO",nullable=false)
	private Date dataNascimento;
	@Column(name="IDADE",nullable=false)
	private int idade;
	@Column(name="OBSERVACAO",nullable=false)
	private String observacao;
	@Column(name="ATIVO",nullable=false)
	private char ativo;
    
	public Aluno() {
		
	}
	
	public Aluno(Integer id){
		this.id = id;
	}
	
	public Aluno(Integer id,String nome,String endereco,String bairro,String cidade,
			     String cep, String uf, String telefone, String celular, String sexo,
			     String cpf, String rg, String ufrg, String email, Date dataNascimento,
			     int idade, String observacao, char ativo){
		this.id = id;
		this.nome = nome;
		this.endereco = endereco;
		this.bairro = bairro;
		this.cidade = cidade;
		this.cep = cep;
		this.uf = uf;
		this.telefone = telefone;
		this.celular = celular;
		this.sexo = sexo;
		this.cpf = cpf;
		this.rg = rg;
		this.ufRg = ufrg;
		this.email = email;
		this.dataNascimento = dataNascimento;
		this.idade = idade;
		this.observacao = observacao;
		this.ativo = ativo;
		
	}

	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public char getAtivo() {
		return ativo;
	}
	public void setAtivo(char ativo) {
		this.ativo = ativo;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEndereco() {
		return endereco;
	}
	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
	public String getBairro() {
		return bairro;
	}
	public void setBairro(String bairro) {
		this.bairro = bairro;
	}
	public String getCidade() {
		return cidade;
	}
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	public String getCep() {
		return cep;
	}
	public void setCep(String cep) {
		this.cep = cep;
	}
	public String getUf() {
		return uf;
	}
	public void setUf(String uf) {
		this.uf = uf;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public String getCelular() {
		return celular;
	}
	public void setCelular(String celular) {
		this.celular = celular;
	}
	public String getSexo() {
		return sexo;
	}
	public void setSexo(String sexo) {
		this.sexo = sexo;
	}
	public String getCpf() {
		return cpf;
	}
	public void setCpf(String cpf) {
		this.cpf = cpf;
	}
	public String getRg() {
		return rg;
	}
	public void setRg(String rg) {
		this.rg = rg;
	}
	public String getUfRg() {
		return ufRg;
	}
	public void setUfRg(String ufRg) {
		this.ufRg = ufRg;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public Date getDataNascimento() {
		return dataNascimento;
	}
	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
	}
	public int getIdade() {
		return idade;
	}
	public void setIdade(int idade) {
		this.idade = idade;
	}
	public String getObservacao() {
		return observacao;
	}
	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	
	@Override
	public int hashCode() {
		return id;	
	}
	
	@Override
	public boolean equals(Object obj){
		if(obj instanceof Aluno){
			Aluno aluno = (Aluno) obj;
			return aluno.getId()== id;
		}
		return false;
	}
	
	@Override
	public String toString(){
		return nome;
	}
	
}
